/**
* @file get_image.cpp
*
*	 Nel file get_image.cpp vengono implementate tutte le funzionalità descritte nel file get_image.h
*	 In particolare si implementa il servizio che consiste nell'invio di un'immagine dal 
*	 Service Provider al client.
*
* @author Favale Angelo
* @author Fagioli Alessio
*
* @version 1.0
*/

#include "get_image.h"

/** Contiene il nome del servizio a cui fa riferimento la classe che lo gestisce */
char servizio_2[BUFFER_SIZE] = "Get_Image";

Get_Image::Get_Image(host client):Service(client,servizio_2) {}


bool Get_Image::Get_image (char * nome_file)
{
	FILE *fp;
	int n,i;
	char msg[BUFFER_SIZE];//messaggio da inviare al client
	char buf[BUFFER_SIZE];//path completo dell'immagine da inviare
	

	sprintf(buf,"foto/%s",nome_file);
	
	memset (msg,0,BUFFER_SIZE);
	i=0;

	if (!(fp=fopen(buf,"rb")))
		return false;

	do
	{
	 	n=fread(msg,1,512,fp);
		send(client.s,msg,n,0);
		i+=n;
	}while(n>0);

	
	fclose (fp);
	
	return true;


}
